#ifndef HAFFMAN_MAIN_H
	#define HAFFMAN_MAIN_H
	
	#ifdef __cplusplus
		#define EXTERN extern "C"
	#else
		#define EXTERN extern
	#endif

	#define C_close_write_error 0x01
	#define C_open_write_error 0x02
	#define CF_open_read_error 0x03
	#define	CF_close_read_error 0x04
	#define CCA_overflow_error 0x05
	#define RIF_open_read_error 0x06
	#define RIF_close_read_error 0x07
	#define CL_malloc_error 0x08
	#define D_open_read_error 0x09
	#define D_close_read_error 0x0A
	#define RTSENFF_read_file_too_small 0x0B
	#define DF_open_write_error 0x0C
	#define DF_close_write_error 0x0D
	#define DF_read_file_too_small 0x0E
	#define CL_null_list 0x0F
	#define RIF_read_error 0x10
	#define PT_write_error 0x11
	#define CF_read_error 0x12
	#define CF_write_error_1 0x13
	#define CF_write_error_2 0x14
	#define DF_read_error 0x15
	#define	DF_write_error_1 0x16
	#define	DF_write_error_2 0x17
	#define DF_decompress_file_size_error 0x18

	/* Импортируемые функции */
	EXTERN unsigned char haffman_compress(const char *in,const char *out);
	EXTERN unsigned char haffman_decompress(const char *in,const char *out);
	EXTERN const char* get_error_description(const unsigned char error_code);

	/* Экспортируемая функция
	 * Вернем ассемблерному модулю значение константы SEEK_SET, определенной в stdio.h */
	EXTERN long get_seek_set();
#endif

